#练习题

from easygui import *

#1-商场降低促销折扣
isLoop=True

while isLoop:
    goodsBuyMoney=enterbox('请输入当前购买货物的金额(单位元)：','Python购物折扣')

    if(goodsBuyMoney==None):
        isLoop=False
        break
    fGoodsBuyMoney=float(goodsBuyMoney)
    if fGoodsBuyMoney<=10:
        realPayMoney=fGoodsBuyMoney*(1-10/100)
        tmpstr="当前金额为【"+str(fGoodsBuyMoney)+"】，可享受10%的折扣，最终支付金额为【"+str(realPayMoney)+"】"
        msgbox(tmpstr)
    else:
        realPayMoney=fGoodsBuyMoney*(1-20/100)
        tmpstr="当前金额为【"+str(fGoodsBuyMoney)+"】，可享受20%的折扣，最终支付金额为【"+str(realPayMoney)+"】"
        msgbox(tmpstr)


#2-足球队选择10-12岁的小女孩
msgTip="请输入报名人员的姓别和年龄"
title="Python足球队选拔"
fieldNames=['性别','年龄']
fieldValues=[]
isLoop=True

while isLoop:
    fieldValues=multenterbox(msgTip,title,fieldNames)
    if fieldValues==None:
        isLoop=False
        break
    else:
        sex=fieldValues[0]
        if sex!='' and sex=='女':
            age=fieldValues[1]
            if age!='' and (10<=float(age)<=12):
                msgbox("恭喜你,欢迎加入足球队")
            elif(age==''):
                msgbox("请输入年龄！")
            else:
                msgbox("很抱歉,你的年龄不符合我们的要求，感谢你的参加")
        elif(sex==''):
            msgbox("请输入性别！")
        else:
            msgbox("很遗憾，我们足球队只招收女孩子")

           
#3-开车长途旅行是否需要在当前加油站加油
msgTip="开车长途旅行是否需要在当前加油站加油"
title="Python是否加油程序"
isLoop=True
fieldNames=['油箱总容量(升)','当前油量占比(0-1)','每升油可行驶距离(km)']
nextGasStationDistance=200
oilError=5
fieldValues=[]

while isLoop:
    fieldValues=multenterbox(msgTip,title,fieldNames)
    if fieldValues==None:
        isLoop=False
        break
    totalOilNumber=fieldValues[0]
    curOilRate=fieldValues[1]
    moveDistancePerRise=fieldValues[2]
    if totalOilNumber=='' or curOilRate=='' or moveDistancePerRise=='':
        msgbox('【%s】、【%s】、【%s】内容都不能为空，请重新输入后再试！'%(fieldNames[0],fieldNames[1],fieldNames[2]))
    else:
        totalOilNumber=float(totalOilNumber)
        curOilRate=float(curOilRate)
        moveDistancePerRise=float(moveDistancePerRise)
        if curOilRate<0 or curOilRate>1:
            msgbox("当前输入的油量比例已超设定范围【0-1】，请检查后重新输入")
            continue
        else:
            fullOilCanMoveDistance=totalOilNumber*moveDistancePerRise
            curOilRateNumber=curOilRate*totalOilNumber
            curOilRateMoveDistance=curOilRateNumber*moveDistancePerRise
            surplusOilNumber=curOilRateMoveDistance-nextGasStationDistance
            if surplusOilNumber>=oilError:
                msgbox('''你车子当前的油量还剩余【%s】升，每升油可行驶【%s】km,
            目前还可行驶【%s】km,到达下一个加油站还有【%s】km\n
            以你目前的油量足以到达下一个加油站再加油，祝你旅途愉快'''%(
                str(curOilRateNumber),str(moveDistancePerRise),str(curOilRateMoveDistance),str(nextGasStationDistance)
            ))
            else:
                msgbox('''你车子当前的油量还剩余【%s】升，每升油可行驶【%s】km,
            目前还可行驶【%s】km,到达下一个加油站还有【%s】km\n
            以你目前的油量已不够到达下一个加油站，需在当前加油站赶紧加油'''%(
                str(curOilRateNumber),str(moveDistancePerRise),str(curOilRateMoveDistance),str(nextGasStationDistance)
            ))

                


            